home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2002 #11 / Amiga Plus CD - 2002 - No. 11.iso / Tools / Freeware / Pixload-2.2 / Pixload-Prefs < prev    next >
Encoding:
Text File  |  2002-10-27  |  9.3 KB  |  370 lines

  1. /*
  2. ** $VER: Pixload Prefs 2.2
  3. ** www.Pixel-Art.fr.st
  4. */
  5.  
  6. signal on halt
  7. signal on break_c
  8.  
  9. call init
  10. call CreateApp
  11. call Lecture
  12. call HandleApp
  13.  
  14. /*******************************************/
  15. init: procedure expose nbicon taille volume
  16.  
  17.    l="rmh.library";if ~show("L",l) then;if ~addlib(l,0,-30) then exit
  18.    if AddLibrary("rxmui.library")~=0 then exit
  19.    call RxMUIOpt("debugmode showerr")
  20.  
  21.    call open(chemin,"Pixload:Prefs/Pixload.prefs",'Read')
  22.         nbicon=readln(chemin)
  23.         rien=readln(chemin)
  24.         rien2=readln(chemin)
  25.         volume=readln(chemin)
  26.         taille=readln(chemin)
  27.    close(chemin)
  28. return
  29. /**************************************************/
  30. HandleApp: procedure expose nbicon taille volume
  31.     ctrl_c=2**12
  32.     do forever
  33.         call NewHandle("app","h",ctrl_c)
  34.         if and(h.signals,ctrl_c)>0 then exit
  35.         select
  36.            when h.event="QUIT" then exit
  37.            otherwise interpret h.event
  38.         end
  39.     end
  40. /* never reached */
  41. /*************************************************/
  42. CreateApp: procedure expose nbicon taille volume
  43.  
  44.      fenetre_info.Class="Win"
  45.      fenetre_info.dragbar=0
  46.      fenetre_info.borderless=1
  47.      fenetre_info.closegadget=0
  48.      fenetre_info.depthgadget=0
  49.      fenetre_info.sizegadget=0
  50.  
  51.      fenetre_info.Contents="info_group"
  52.  
  53.        info_group.0="info_contenu"
  54.  
  55.         info_contenu.Class="text"
  56.         info_contenu.Font="Big"
  57.         info_contenu.Contents=ParseText("%3%c              Pixload Prefs 2.2              ")
  58.  
  59.        info_group.1=hbar()
  60.        info_group.2=vspace(2)
  61.  
  62.        info_group.3="info_contenu_1"
  63.         info_contenu_1.Class="text"
  64.         info_contenu_1.Font="Big"
  65.         info_contenu_1.Contents=""
  66.  
  67.     if NewObj("window","fenetre_info")>0 then exit
  68.  
  69.     /********************************************/
  70.  
  71.     app.Title="Pixload-Prefs"
  72.     app.Version="$VER: Pixload Prefs version 2.2"
  73.     app.Author="Pixel Art - www.pixel-art.fr.st"
  74.     app.Base="Pixload-config"
  75.     app.SubWindow="win"
  76.  
  77.     win.ID="MAIN"
  78.     win.Title="Pixload Prefs"
  79.  
  80.     win.Contents="barre_group"
  81.  
  82.     barre_group.0="entete"
  83.        entete.class="group"
  84.        entete.frame="group"
  85.        entete.columns=10
  86.  
  87.        entete.0=checkmark("orientation",0)
  88.  
  89.        entete.1="entete_0"
  90.           entete_0.class="text"
  91.           entete_0.contents=Parsetext("%3Orientation (horizontal / vertical)")
  92.  
  93.        entete.2=checkmark("son",0)
  94.  
  95.        entete.3="son"
  96.           son.class="text"
  97.           son.contents=Parsetext("%3Sound ")||" (On/Off)"
  98.  
  99.        entete.4="entete_1"
  100.          entete_1.class="numericbutton"
  101.          entete_1.min=4
  102.          entete_1.max=100
  103.          entete_1.value=volume
  104.  
  105.        entete.5="entete_2"
  106.          entete_2.class="text"
  107.          entete_2.contents=Parsetext("%3Volume ")||" (%)"
  108.  
  109.        entete.6="entete_3"
  110.          entete_3.class="numericbutton"
  111.          entete_3.min=1
  112.          entete_3.max=15
  113.          entete_3.value=nbicon
  114.  
  115.        entete.7="entete_4"
  116.          entete_4.class="text"
  117.          entete_4.contents=Parsetext("%3Icons enabled")
  118.  
  119.        entete.8="entete_5"
  120.          entete_5.class="numericbutton"
  121.          entete_5.min=60
  122.          entete_5.max=100
  123.          entete_5.value=taille
  124.  
  125.        entete.9="entete_6"
  126.          entete_6.class="text"
  127.          entete_6.contents=Parsetext("%3Icons size")||" (%)"
  128.  
  129.       barre_group.1="drag_drop"
  130.  
  131.        drag_drop.class="group"
  132.        drag_drop.frame="group"
  133.        /*drag_drop.spacing=5*/
  134.        drag_drop.columns=6
  135.  
  136.        drag_drop.0=label(parsetext("%3Pictures : "))
  137.  
  138.        drag_drop.1="entete_7"
  139.          entete_7.class="popasl"
  140.          entete_7.ShortHelp='Display pictures (IFF, GIF, JPEG)'
  141.          entete_7.string=string("images","f")
  142.  
  143.        drag_drop.2=label(parsetext("%3Texts :"))
  144.  
  145.        drag_drop.3="entete_8"
  146.          entete_8.class="popasl"
  147.          entete_8.ShortHelp='Read Texts (Text, Rexx, Script)'
  148.          entete_8.string=string("texte","f")
  149.  
  150.        drag_drop.4=label(parsetext("%3Sounds : "))
  151.  
  152.        drag_drop.5="entete_9"
  153.          entete_9.class="popasl"
  154.          entete_9.ShortHelp='Play Sounds (8SVX)'
  155.          entete_9.string=string("musique","f")
  156.  
  157.      barre_group.2="ctrlg"
  158.        ctrlg.class="group"
  159.        ctrlg.frame="group"
  160.        ctrlg.columns=5
  161.  
  162.      do i=0 to 14
  163.  
  164.          k=i*5
  165.          ctrlg.k="petit_iff."i
  166.          petit_iff.i.class="gfxpic"
  167.          petit_iff.i.source="Pixload:icones/"i
  168.          petit_iff.i.transparent=1
  169.          petit_iff.i.scale=70
  170.          petit_iff.i.precision="image"
  171.          petit_iff.i.draw=1
  172.  
  173.          k=i*5+1
  174.          ctrlg.k="programme."i
  175.          programme.i.class="popasl"
  176.          programme.i.ShortHelp='Logiciels / Programs'
  177.          programme.i.string=string("file."i,"f")
  178.  
  179.          k=i*5+2
  180.          ctrlg.k="texte_aide."i
  181.          texte_aide.i.class="group"
  182.          texte_aide.i.ShortHelp=Parsetext("Help Bubble")
  183.          texte_aide.i.0=String("help."i,"f")
  184.  
  185.          k=i*5+3
  186.          ctrlg.k="fichier_son."i
  187.          fichier_son.i.class="popasl"
  188.          fichier_son.i.ShortHelp='Sounds'
  189.          fichier_son.i.string=string("song."i,"f")
  190.  
  191.          k=i*5+4
  192.          ctrlg.k="haut_parleur."i
  193.          haut_parleur.i.class="gfxpic"
  194.          haut_parleur.i.ShortHelp=Parsetext("Click to hear")
  195.          haut_parleur.i.source="Pixload:icones/son"
  196.          haut_parleur.i.inputmode="relverify"
  197.          haut_parleur.i.frame="button"
  198.  
  199.     end
  200.  
  201.     if NewObj("APPLICATION","APP")>0 then exit
  202.  
  203.     call add("app","fenetre_info")
  204.  
  205.     call Notify("win","CloseRequest",1,"app","Return","call fin")
  206.  
  207.     call Notify("entete_1","value","everytime","app","return","volume=h.value","triggerattr")
  208.  
  209.     call Notify("entete_3","value","everytime","app","return","call activation(h.value)","triggerattr")
  210.  
  211.     call Notify("entete_5","value","everytime","app","return","taille=h.value","triggerattr")
  212.  
  213.     do t=0 to 14
  214.        call Notify("haut_parleur."t,"pressed",1,"app","Return","call ecoute("t")")
  215.     end
  216.  
  217.     call set("win","open",1)
  218.  
  219. return
  220.  
  221. /*****************/
  222. Lecture: procedure
  223.  
  224.     call open(chemin,"Pixload:Prefs/Pixload.prefs",'Read')
  225.  
  226.     nbicon=readln(chemin)
  227.     call set(orientation,"selected",readln(chemin))
  228.     call set(son,"selected",readln(chemin))
  229.     volume=readln(chemin)
  230.     taille=readln(chemin)
  231.  
  232.     call set(images,"contents",readln(chemin))
  233.     call set(texte,"contents",readln(chemin))
  234.     call set(musique,"contents",readln(chemin))
  235.  
  236.     do num=0 to 14
  237.  
  238.              fichier.num=readln(chemin)
  239.              if fichier.num=0 then do
  240.  
  241.                  set.Disabled=1
  242.  
  243.                  call SetAttrs("petit_iff."num,"set")
  244.                  call SetAttrs("programme."num,"set")
  245.                  call SetAttrs("texte_aide."num,"set")
  246.                  call SetAttrs("fichier_son."num,"set")
  247.                  call SetAttrs("haut_parleur."num,"set")
  248.  
  249.              end
  250.  
  251.              fichier.num=readln(chemin)
  252.              call set(file.num,"contents",fichier.num)
  253.  
  254.              fichier.num=readln(chemin)
  255.              call set(help.num,"contents",fichier.num)
  256.  
  257.              fichier.num=readln(chemin)
  258.              call set(song.num,"contents",fichier.num)
  259.     end
  260.  
  261.     call close(chemin)
  262.  
  263. return
  264. /********************************/
  265. ecoute: procedure expose volume
  266.  
  267. Parse arg ecouter
  268.  
  269. call GetAttr(song.ecouter,"contents","resultat")
  270.  
  271.   address 'gcsound'
  272.   sound resultat 1 volume/1.5625
  273.  
  274. return
  275. /*********************************************/
  276. Fin: procedure expose nbicon taille volume
  277.  
  278. call set("fenetre_info","open",1)
  279. call set("info_contenu_1","contents",parsetext("%3%cSaving settings"))
  280.  
  281. call open(adresse,"Pixload:Prefs/Pixload.prefs",'Write')
  282.  
  283.     call WriteLN(adresse,nbicon)
  284.     call WriteLN(adresse,xget("orientation","selected"))
  285.     call WriteLN(adresse,xget("son","selected"))
  286.     call WriteLN(adresse,volume)
  287.     call WriteLN(adresse,taille)
  288.  
  289.     call WriteLN(adresse,xget("images","contents"))
  290.     call WriteLN(adresse,xget("texte","contents"))
  291.     call WriteLN(adresse,xget("musique","contents"))
  292.  
  293.     do i=0 to nbicon-1
  294.  
  295.        call writeln(adresse,"1")
  296.        call WriteLN(adresse,xget("file."i,"contents"))
  297.        call WriteLN(adresse,xget("help."i,"contents"))
  298.        call WriteLN(adresse,xget("song."i,"contents"))
  299.  
  300.     end
  301.  
  302.     do i=nbicon to 14
  303.  
  304.        call writeln(adresse,"0")
  305.        call WriteLN(adresse,xget("file."i,"contents"))
  306.        call WriteLN(adresse,xget("help."i,"contents"))
  307.        call WriteLN(adresse,xget("song."i,"contents"))
  308.  
  309.     end
  310.  
  311.     call close(adresse)
  312.  
  313.     if show('P','PIXLOAD.1') then
  314.        do
  315.         address 'PIXLOAD.1'
  316.         quit
  317.        end
  318.  
  319.     address command 'sys:c/wait sec=1'
  320.     address command 'sys:c/wbrun Pixload:Pixload'
  321.  
  322. address command 'sys:c/wait 1'
  323.  
  324. call set("fenetre_info","open",0)
  325.  
  326. if show('P','PIXLOAD-CONFIG.1') then
  327.        do
  328.           address 'PIXLOAD-CONFIG.1'
  329.           exit
  330.        end
  331.  
  332. return
  333. /*****/
  334. halt:
  335.     break=_c:
  336. exit
  337. /**********************************/
  338. activation: procedure expose nbicon
  339.  
  340. parse arg nombre
  341.  
  342.       set.Disabled=0
  343.  
  344.       do r=0 to 14
  345.  
  346.         call SetAttrs("petit_iff."r,"set")
  347.         call SetAttrs("programme."r,"set")
  348.         call SetAttrs("texte_aide."r,"set")
  349.         call SetAttrs("fichier_son."r,"set")
  350.         call SetAttrs("haut_parleur."r,"set")
  351.  
  352.       end
  353.  
  354.       set.disabled=1
  355.  
  356.       do r=nombre to 14
  357.  
  358.         call SetAttrs("petit_iff."r,"set")
  359.         call SetAttrs("programme."r,"set")
  360.         call SetAttrs("texte_aide."r,"set")
  361.         call SetAttrs("fichier_son."r,"set")
  362.         call SetAttrs("haut_parleur."r,"set")
  363.  
  364.       end
  365.  
  366.       nbicon=nombre
  367.                                             
  368. return
  369.  
  370.